home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / text / hyper / hsc_source.lha / source / hsc / global.c < prev    next >
C/C++ Source or Header  |  1996-09-08  |  2KB  |  97 lines

  1. /*
  2.  * hsc/global.c
  3.  *
  4.  * global vars & funs for hsc
  5.  *
  6.  * Copyright (C) 1995  Thomas Aglassinger
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License as published by
  10.  * the Free Software Foundation; either version 2 of the License, or
  11.  * (at your option) any later version.
  12.  *
  13.  * This program is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  * GNU General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU General Public License
  19.  * along with this program; if not, write to the Free Software
  20.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  *
  22.  * updated: 17-Aug-1996
  23.  * created:  8-Jul-1995
  24.  */
  25.  
  26. #include "ugly/returncd.h"
  27.  
  28. #define NOEXTERN_HSC_GLOBAL_H
  29. #include "hsc/global.h"
  30.  
  31. /*
  32.  * global vars for user args
  33.  */
  34. EXPSTR *inpfilename = NULL;     /* name of input file (def: stdin) */
  35. EXPSTR *outfilename = NULL;     /* name of output file (def: stdout) */
  36.  
  37. STRPTR msgfilename = NULL;      /* name of message file (def: stderr) */
  38. STRPTR prjfilename = NULL;      /* name for project-file (def: none) */
  39. STRPTR prefsfilename = NULL;    /* name for prefs-file (default: search) */
  40.  
  41. ULONG max_error = 20;           /* abort after too many errors */
  42. DLLIST *define_list = NULL;     /* defines from user-args */
  43. DLLIST *incfile = NULL;         /* list of files that should be */
  44.                                        /*   included before main file */
  45. int return_code = RC_FAIL;      /* exit code of program */
  46.  
  47. BOOL msg_ansi = FALSE;          /* use ANIS-sequences in messages */
  48. STRPTR msg_format = NULL;       /* message format */
  49. EXPSTR *msgbuf = NULL;          /* buffer for message */
  50.  
  51. /*
  52.  * init_global
  53.  *
  54.  * init global data
  55.  */
  56. BOOL init_global(VOID)
  57. {
  58.     BOOL ok = TRUE;
  59.  
  60.     return_code = RC_OK;
  61.  
  62.     inpfilename = init_estr(32);
  63.     msgbuf = init_estr(64);
  64.  
  65.     ok = (inpfilename && msgbuf);
  66.  
  67.     return (ok);
  68. }
  69.  
  70. /*
  71.  * cleanup_global
  72.  *
  73.  * cleanup global data
  74.  */
  75. VOID cleanup_global(VOID)
  76. {
  77.     del_estr(inpfilename);
  78.     del_estr(outfilename);
  79.     del_dllist(define_list);
  80.     del_dllist(incfile);
  81.     del_estr(msgbuf);
  82. }
  83.  
  84. /*
  85.  * get_outfilename
  86.  *
  87.  * return output filename or `<stdout>'
  88.  */
  89. STRPTR get_outfilename(VOID)
  90. {
  91.     if (outfilename)
  92.         return (estr2str(outfilename));
  93.     else
  94.         return (STDOUT_NAME);
  95. }
  96.  
  97.